public abstract class CaffeinBeverageWithHook {
    final void prepareRecipe(){
        boilWater();
        brew();
        pourInCup();
        if(customerWantsCondimetns()){
            addCondiments();
        }

    }

    abstract void addCondiments();
    abstract void brew();
    public void boilWater(){
        System.out.println("Boiling the water");
    }


    public void pourInCup(){
        System.out.println("Pouring into cup");

    }

    boolean customerWantsCondimetns(){
        return true;
    }
}
